﻿marriage_ai_accept_modifier = { ###MARRIAGE SCRIPTED MODIFIERS###
	modifier = {
		scope:actor = { has_character_modifier = abandoned_marriage_modifier }
		scope:actor = scope:secondary_actor
		add = -150
		desc = ABANDONED_SPOUSE_MODIFIER
	}
	#########
	# HOOKS #
	#########
	modifier = { #Weak hook
		scope:hook = yes
		add = 100
		scope:actor = { NOT = { has_strong_hook = scope:recipient } }
		desc = SCHEME_WEAK_HOOK_USED
	}
	modifier = { #Strong Hook (in some cases it's not auto accept)
		scope:hook = yes
		add = 200
		scope:actor = { has_strong_hook = scope:recipient }
		desc = SCHEME_STRONG_HOOK_USED
	}
	
	#########
	# PERKS #
	#########
	#Promising Prospects Lifestyle Perk:
	modifier = { # A lot of acceptance for yourself - you are likely already married, thus you need motivation to get rid of your spouse to marry someone better
		scope:actor = { has_perk = promising_prospects_perk }
		scope:actor = scope:secondary_actor
		add = promising_prospects_self_value
		desc = PROMISING_PROSPECTS_PERK_MODIFIER
	}
	modifier = { # A significant but lesser chunk of acceptance for your extended family, to increase the value of the perk!
		scope:actor = { has_perk = promising_prospects_perk }
		NOT = { scope:actor = scope:secondary_actor }
		scope:secondary_actor = {
			is_close_or_extended_family_of = scope:actor
		}
		add = promising_prospects_other_value
		desc = PROMISING_PROSPECTS_PERK_MODIFIER
	}
	#Dynasty Glory Perk
	modifier = { # Dynasty Glory Perk acceptance, checks the secondary recipients dynasty for the perk
		exists = scope:secondary_actor.dynasty
		scope:secondary_actor.dynasty = { has_dynasty_perk = glory_legacy_1 }
		add = glory_legacy_1_marriage_acceptance
		desc = DYNASTY_LEGACY_GLORY_MARRIAGE_ACCEPTANCE_PERK_MODIFIER
	}
	#Dynasty Khvarenah Perk
	modifier = { # Dynasty Khvarenah Perk acceptance, checks the secondary recipients dynasty for the perk
		exists = scope:secondary_actor.dynasty
		scope:secondary_actor.dynasty = { has_dynasty_perk = fp3_khvarenah_legacy_3 }
		add = khvarenah_legacy_marriage_acceptance
		desc = DYNASTY_LEGACY_KHVARENAH_MARRIAGE_ACCEPTANCE_PERK_MODIFIER
	}
	#Surveyor Perk, similar logic to Promising Prospects but only same realm
	modifier = { # A lot of acceptance for yourself - you are likely already married, thus you need motivation to get rid of your spouse to marry someone better
		scope:actor = { has_perk = know_your_land_know_your_people_perk }
		scope:actor = scope:secondary_actor
		#We need to be in the same realm:
		scope:recipient.top_liege = scope:actor.top_liege
		# Not Nomadic
		government_has_flag = government_is_settled
		add = surveyor_marriage_perk_self_value
		desc = SURVEYOR_PERK_REALM_ACCEPTANCE
	}
	modifier = { # A significant but lesser chunk of acceptance for your extended family, to increase the value of the perk!
		scope:actor = { has_perk = know_your_land_know_your_people_perk }
		NOT = { scope:actor = scope:secondary_actor }
		scope:secondary_actor = {
			is_close_or_extended_family_of = scope:actor

		}
		#We all need to be in the same realm:
		scope:secondary_actor.top_liege = scope:actor.top_liege
		scope:recipient.top_liege = scope:actor.top_liege
		# Not Nomadic
		government_has_flag = government_is_settled
		add = surveyor_marriage_perk_other_value
		desc = SURVEYOR_PERK_REALM_ACCEPTANCE
	}

	##########################
	# WHO IS GETTING MARRIED #
	##########################
	modifier = {
		add = -15 # Less likely if it's the recipient him/herself
		scope:recipient = scope:secondary_recipient
		desc = MY_OWN_MARRIAGE_REASON
	}
	#More likely if the secondary_actor is the actor's heir
	modifier = {
		add = 10
		scope:actor = {
			exists = player_heir
			player_heir_position = {
				value <= 4 #0, 1, 2, 3, 4 = 5 first player heirs
				target = scope:secondary_actor
			}
			NOT = {
				player_heir_position = {
					value = 0 #player heir
					target = scope:secondary_actor
				}
			}
		}
		scope:actor = {
			tier_difference = {
				target = scope:recipient
				value > 0
			}
		}
		desc = MARRYING_HEIR_REASON
	}

	modifier = {
		add = 20
		scope:actor = {
			exists = player_heir
			player_heir_position = {
				value = 0 #player heir
				target = scope:secondary_actor
			}
		}
		scope:actor = {
			tier_difference = {
				target = scope:recipient
				value > 0
			}
		}
		desc = MARRYING_HEIR_REASON
	}
	
	##############################################
	# ALLIANCE/HOSTILITY FACTORS ("REALPOLITIK") #
	##############################################
	modifier = {
		add = {
			value = 40
			if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = hard_difficulty
				}
				add = -20
			}
			else_if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = very_hard_difficulty
				}
				add = -35
			}
			if = {
				limit = {
					scope:actor = {
						tier_difference = {
							target = scope:recipient
							value = -1
						}
					}
				}
				subtract = 10
			}
			else_if = {
				limit = {
					scope:actor = {
						tier_difference = {
							target = scope:recipient
							value = -2
						}
					}
				}
				subtract = 30
			}
			if = {
				limit = {
					scope:actor = {
						any_ally = {
							NOR = {
    							target_is_liege_or_above = scope:actor
    							target_is_vassal_or_below = scope:actor
							}
							count >= 2
						}
					}
				}
				scope:actor = {
					every_ally = {
						limit = {
							NOR = {
    							target_is_liege_or_above = scope:actor
    							target_is_vassal_or_below = scope:actor
							}
						}
						multiply = 0.5
					}
				}
			}
			if = {
				limit = {
					scope:actor = {
						is_at_war = yes
					}
				}
				multiply = 0.5
			}
		}
		scope:recipient = {
			NOR = {
				is_allied_to = scope:actor
				scope:actor = { # Emperors do not care for Counts at all
					tier_difference = {
						target = scope:recipient
						value <= -3
					}
				}
				is_landless_adventurer = yes
				scope:actor = { is_landless_adventurer = yes }
			}
			OR = {
				ai_diplomacy_stance = {
					target = scope:actor
					stance = neutral
				}
				ai_diplomacy_stance = {
					target = scope:actor
					stance = threat
				}
			}
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		OR = {
			scope:actor = {
				is_independent_ruler = yes
			}
			scope:recipient = {
				is_independent_ruler = yes
			}
			scope:recipient.liege = scope:actor.liege
		}
		
		desc = DESIRES_ALLIANCE
	}
	modifier = {
		add = {
			value = 100
			if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = hard_difficulty
				}
				add = -50
			}
			else_if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = very_hard_difficulty
				}
				add = -90
			}
			if = {
				limit = {
					scope:actor = {
						any_ally = {
							NOR = {
    							target_is_liege_or_above = scope:actor
    							target_is_vassal_or_below = scope:actor
							}
							count >= 2
						}
					}
				}
				scope:actor = {
					every_ally = {
						limit = {
							NOR = {
    							target_is_liege_or_above = scope:actor
    							target_is_vassal_or_below = scope:actor
							}
						}
						multiply = 0.5
					}
				}
			}
			if = {
				limit = {
					scope:actor = {
						is_at_war = yes
					}
				}
				multiply = 0.5
			}
		}
		scope:recipient = {
			NOT = { is_allied_to = scope:actor }
			ai_diplomacy_stance = {
				target = scope:actor
				stance = friend
			}
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		desc = DESIRES_ALLIANCE
	}
	modifier = {
		add = {
			value = -100
			if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = hard_difficulty
				}
				add = -200
			}
			else_if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = very_hard_difficulty
				}
				add = -400
			}
		}
		scope:recipient = {
			NOT = { is_allied_to = scope:actor }
			ai_diplomacy_stance = {
				target = scope:actor
				stance = enemy
			}
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		desc = DOES_NOT_WANT_ALLIANCE
	}
	modifier = {
		add = {
			scope:actor = {
				every_ally = {
					limit = {
						NOR = {
    						target_is_liege_or_above = scope:actor
    						target_is_vassal_or_below = scope:actor
						}
					}
					add = -15
					if = {
						limit = {
							scope:actor = {
								is_ai = no
							}
							has_game_rule = hard_difficulty
						}
						add = -45
					}
					else_if = {
						limit = {
							scope:actor = {
								is_ai = no
							}
							has_game_rule = very_hard_difficulty
						}
						add = -90
					}
				}
			}
		}
		scope:actor = {
			trigger_if = {
				limit = {
					OR = {
						has_game_rule = hard_difficulty
						has_game_rule = very_hard_difficulty
					}
					is_ai = no
				}
				any_ally = {
					NOR = {
						target_is_vassal_or_below = scope:actor
						target_is_liege_or_above = scope:actor
					}
					count >= 1
				}
			}
			trigger_else = {
				any_ally = {
					NOR = {
						target_is_vassal_or_below = scope:actor
						target_is_liege_or_above = scope:actor
					}
					count >= 2
				}
			}
		}
		scope:recipient = {
			NOR = {
				is_allied_to = scope:actor
				target_is_vassal_or_below = scope:actor
				target_is_liege_or_above = scope:actor
			}
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		desc = YOU_HAVE_TOO_MANY_ALLIANCES
	}
	modifier = {
		add = {
			value = -50
			if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = hard_difficulty
				}
				add = -450
			}
			else_if = {
				limit = {
					scope:actor = {
						is_ai = no
					}
					has_game_rule = very_hard_difficulty
				}
				add = -950
			}
			scope:recipient = { # If the recipient is busy with their own wars its extra unattractive
				if = {
					limit = {
						is_at_war = yes
					}
					add = -50
				}
			}
			scope:recipient = { # Cautious or Economic Boom AI's do not want to join your wars
				if = {
					limit = {
						OR = {
							ai_has_cautious_personality = yes
							ai_has_economical_boom_personality = yes
						}
					}
					add = -50
				}
			}
		}
		scope:actor = {
			is_at_war = yes
		}
		scope:recipient = {
			NOR = {
				is_allied_to = scope:actor
				is_close_family_of = scope:actor
				has_relation_friend = scope:actor
				has_relation_lover = scope:actor
				target_is_vassal_or_below = scope:actor
				target_is_liege_or_above = scope:actor
			}
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		desc = YOU_ARE_AT_WAR
	}
	# Clan contract: Marriage Favor
	modifier = {
		add = 100
		OR = {
			# Liege PoV
			scope:recipient = {
				is_vassal_of = scope:actor
				vassal_contract_has_flag = vassal_contract_marriage_favor
			}
			# Vassal PoV
			scope:actor = {
				is_vassal_of = scope:recipient
				vassal_contract_has_flag = vassal_contract_marriage_favor
			}
		}

		desc = VASSAL_CONTRACT_MARRIAGE_FAVOR_BONUS
	}
	#You're in a confederation together
	modifier = {
		add = 25
		scope:recipient = {
			is_confederation_member = yes
			yields_alliance = {
				candidate = scope:secondary_recipient
				target = scope:actor
				target_candidate = scope:secondary_actor
			}
		}
		scope:actor = {
			is_member_of_confederation = scope:recipient.confederation
		}

		desc = FELLOW_CONFEDERATION_MEMBERS_MARRIAGE_BONUS
	}

	####################
	# TIER DIFFERENCES #
	####################
	modifier = {
		marry_close_family_tiers_acceptance_value != 0
		add = marry_close_family_tiers_acceptance_value
		desc = CLOSE_FAMILY_TIERS_REASON
		NOT = {
			scope:actor = { is_landless_adventurer = yes }
		}
	}

	##########################
	# GOVERMMENT DIFFERENCES #
	##########################
	modifier = {
		add = -15
		scope:actor = { # Individuals within an administrative realm would be unlikely to marry outside the realm
			government_has_flag = government_is_administrative
		}
		scope:recipient = {
			NOT = { government_has_flag = government_is_administrative }
		}
		desc = THEY_ARE_NON_ADMIN_REASON
	}

	modifier = {
		add = -15
		scope:recipient = {
			government_has_flag = government_is_administrative
		}
		scope:actor = { # Individuals outside an administrative realm would be unlikely to marry into the realm
			NOT = { government_has_flag = government_is_administrative }
		}		
		desc = YOU_ARE_NON_ADMIN_REASON
	}

	modifier = {
		add = {
			if = {
				limit = {
					scope:secondary_recipient = { is_close_or_extended_family_of = scope:recipient }
				}
				add = -50
			}
			else_if = {
				limit = {
					exists = scope:recipient.house
					scope:secondary_recipient.house ?= scope:recipient.house
				}
				add = -30
			}
			else = { add = -20 }
		}
		scope:actor = { government_has_flag = government_is_landless_adventurer }
		scope:recipient = {
			NOT = { government_has_flag = government_is_landless_adventurer }
		}
		desc = distrust_laamps_for_marriage_tt
	}

	############
	# OPINIONS #
	############
	opinion_modifier = { # More likely to accept if Recipient likes the person the Actor offers for marriage
		trigger = {
			NOT = { scope:recipient = scope:secondary_actor }
		}
		who = scope:recipient
		opinion_target = scope:secondary_actor
		multiplier = 0.25
		desc = AI_OPINION_REASON_SPOUSE
	}
	opinion_modifier = { # A lot more likely if Recipient likes Actor
		trigger = {
			NOT = { scope:actor = scope:recipient }
		}
		who = scope:recipient
		opinion_target = scope:actor
		multiplier = 0.75
		desc = AI_OPINION_REASON_ACTOR
	}
	modifier = { # Likely to want two candidates who like each other to marry if Recipient likes them both
		add = 15
		scope:secondary_recipient = { #Do they like each other a lot?
			opinion = {
				target = scope:secondary_actor
				value > 50
			}
			reverse_opinion = {
				target = scope:secondary_actor
				value > 50
			}
		}
		scope:recipient = { #The Recipient needs to want well for both candidates
			NOT = { has_trait = sadistic }
			NOT = { has_trait = callous }
			NOT = { has_trait = cynical }
			opinion = {
				target = scope:secondary_actor
				value > 0
			}
			opinion = {
				target = scope:secondary_recipient
				value > 0
			}
		}
		desc = wishes_well_for_lovers_tooltip
	}
	compare_modifier = { #If the Secondary_recipient has the Love opinion for the Secondary_actor, add the Recipients compassion value
		target = scope:recipient
		trigger = {
			scope:recipient = {
				ai_compassion > 0
				opinion = {
					target = scope:secondary_recipient
					value > 0
				}
			}
			scope:secondary_recipient = {
				has_opinion_modifier = {
					target = scope:secondary_actor
					modifier = love_opinion
				}
			}
		}
		value = ai_compassion
		multiplier = 0.25
	}
	modifier = { # Recipient wants to marry their lovers
		add = 25
		scope:secondary_recipient = scope:recipient
		scope:secondary_recipient = {
			has_relation_lover = scope:secondary_actor
			NOT = { has_relation_soulmate = scope:secondary_actor }
			# If it's a secret relation we know of it
			trigger_if = {
				limit = {
					any_secret = {
						secret_type = secret_lover
						secret_target = scope:secondary_actor
					}
				}
				any_secret = {
					secret_type = secret_lover
					secret_target = scope:secondary_actor
					any_secret_knower = {
						this = scope:actor
					}
				}
			}
		}
		desc = ARE_LOVERS_REASON
	}

	modifier = { # Recipient wants to marry their soulmates
		add = 100
		scope:secondary_recipient = scope:recipient
		scope:secondary_recipient = {
			has_relation_soulmate = scope:secondary_actor
			# If it's a secret relation we know of it
			trigger_if = {
				limit = {
					any_secret = {
						secret_type = secret_lover
						secret_target = scope:secondary_actor
					}
				}
				any_secret = {
					secret_type = secret_lover
					secret_target = scope:secondary_actor
					any_secret_knower = {
						this = scope:actor
					}
				}
			}
		}
		desc = ARE_SOULMATES_REASON
	}
	
	modifier = { # Less likely to marry someone whose spouse misteriously died in the Wedding Night
		add = -50
		desc = just_widowed_interaction_reason
		trigger = {
			scope:actor = {
				has_variable = just_widowed_var
			}
		}
	}
	
	modifier = { # Same language
		add = 5
		desc = speaks_same_language_interaction_reason
		trigger = {
			scope:actor = {
				knows_language_of_culture = scope:recipient.culture
			}
		}
	}
	
	modifier = { # Shared Court Language (non-spoken)
		add = 5
		desc = foreign_realm_court_language_non_spoken_interaction_reason
		trigger = {
			scope:actor = {
				has_royal_court = yes
				has_dlc_feature = royal_court
				NOT = { knows_court_language_of = this }
			}
			NOT = {
				scope:actor.top_liege = scope:recipient.top_liege
			}
			OR = {
				AND = {
					scope:recipient = {
						has_royal_court = yes
						has_dlc_feature = royal_court
					}
					scope:actor = { # You share Court Language
						has_same_court_language = scope:recipient
					}
				}
				
				scope:recipient = { # The recipient doesn't have a royal court, but their liege does
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege 
					liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					exists = liege.liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege's liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					exists = liege.liege.liege
					exists = liege.liege.liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
			}
		}
	}
	
	modifier = { # Shared Court Language (spoken)
		add = 15
		desc = foreign_realm_court_language_spoken_interaction_reason
		trigger = {
			scope:actor = {
				has_royal_court = yes
				has_dlc_feature = royal_court
				knows_court_language_of = this
			}
			NOT = {
				scope:actor.top_liege = scope:recipient.top_liege
			}
			OR = {
				AND = {
					scope:recipient = {
						has_royal_court = yes
						has_dlc_feature = royal_court
					}
					scope:actor = { # You share Court Language
						has_same_court_language = scope:recipient
					}
				}
				
				scope:recipient = { # The recipient doesn't have a royal court, but their liege does
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege 
					liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					exists = liege.liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
				scope:recipient = { # The recipient doesn't have a royal court, but their liege's liege's liege's liege does, while their liege doesn't have a royal court
					is_independent_ruler = no
					is_pool_character = no
					has_royal_court = no
					exists = liege.liege
					exists = liege.liege.liege
					exists = liege.liege.liege.liege
					liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege = {
						is_independent_ruler = no
						has_royal_court = no
					}
					liege.liege.liege.liege = {
						has_royal_court = yes
						has_dlc_feature = royal_court
						has_same_court_language = scope:actor
					}
				}
			}
		}
	}

	modifier = { # Contact list for Laamps
		add = 25
		desc = laamp_from_contact_list_reason
		scope:recipient = {
			is_contact_of = scope:actor
		}
	}
	modifier = { # Oath from allied ruler
		add = 10
		desc = oath_of_alliances_marriage_acceptance_value
		scope:recipient = {
			is_allied_to = scope:actor
		}
		scope:actor = {
			has_character_modifier = oath_of_alliances
		}
	}
	
	###########################
	# DYNASTY PRESTIGE LEVELS #
	###########################
	modifier = {
		scope:secondary_actor = { has_dynasty = no }
		add = {
			value = -20 # AI really doesn't like marrying lowborn courtiers.
			if = {
				limit = { # Especially not if they're not lowborn themselves
					scope:secondary_recipient = { has_dynasty = yes }
				}
				multiply = 6
			}
		}
		desc = AI_DYNASTY_PRESTIGE_REASON_LOWBORN
	}
	modifier = {
		scope:secondary_actor = { has_dynasty = yes }
		scope:recipient.dynasty = scope:secondary_recipient.dynasty
		NOT = { scope:secondary_actor.dynasty = { dynasty_prestige_level = 1 } } #Would equal a value of 0, so we hide it
		add = {
			value = scope:secondary_actor.dynasty.dynasty_prestige_level
			multiply = 5
			subtract = 5 #At 0 dynasty prestige level, there should be a penalty
		}
		desc = AI_DYNASTY_PRESTIGE_REASON_SECONDARY
	}	
	

	#####################################
	# PENALTIES FOR INCORRECT LINEALITY # (matrilineal for men, patrilineal for women. Ignored entirely for same-sex marriage)
	#####################################
	modifier = {
		scope:secondary_recipient = {
			exists = dynasty
			exists = scope:recipient.dynasty
			dynasty = scope:recipient.dynasty
			NAND = {
				dynasty = scope:actor.dynasty
				dynasty = scope:secondary_actor.dynasty
				scope:secondary_actor = { NOT = { has_trait = bastard } }
			}

			scope:recipient = { is_ruler = yes }
			scope:secondary_actor = { sex_opposite_of = scope:secondary_recipient }
			#Incorrect lineality
			OR = {
				AND = {
					NOT = { always = scope:matrilineal }
					is_female = yes
				}
				AND = {
					always = scope:matrilineal
					is_male = yes
				}
			}
		}
		#Only cares about the ruler, first 3 heirs, and the dominant gender dynasty members
		scope:recipient = {
			OR = {
				this = scope:secondary_recipient
				AND = {
					exists = player_heir
					player_heir_position = { #0, 1, 2 = the first three player heirs in succession line.
						value <= 2
						target = scope:secondary_recipient
					}
				}
				has_realm_law = equal_law
				AND = {
					scope:secondary_recipient = { is_female = yes }
					OR = {
						has_realm_law = female_only_law
						has_realm_law = female_preference_law
					}
				}
				AND = {
					scope:secondary_recipient = { is_male = yes }
					OR = {
						has_realm_law = male_only_law
						has_realm_law = male_preference_law
					}
				}
			}
		}

		add = {
			#For the ruler themselves and their first player heir
			if = {
				limit = {
					scope:recipient = {
						OR = {
							this = scope:secondary_recipient
							AND = {
								exists = player_heir
								player_heir_position = {
									value = 0 #First player heir
									target = scope:secondary_recipient
								}
							}
						}
					}
					OR = {
						AND = {
							scope:recipient.faith = {
								has_doctrine = doctrine_gender_male_dominated
							}
							scope:secondary_recipient = {
								is_male = yes
							}
						}
						AND = {
							scope:recipient.faith = {
								has_doctrine = doctrine_gender_female_dominated
							}
							scope:secondary_recipient = {
								is_female = yes
							}
						}
					}
				}
				subtract = 1000
			}
			else_if = {
				limit = {
					scope:recipient = {
						OR = {
							this = scope:secondary_recipient
							AND = {
								exists = player_heir
								player_heir_position = {
									value = 0 #First player heir
									target = scope:secondary_recipient
								}
							}
						}
					}
				}
				subtract = 100
			}
			#For the second heir
			else_if = {
				limit = {
					scope:recipient = {
						exists = player_heir
						player_heir_position = {
							value = 1 #Second player heir
							target = scope:secondary_recipient
						}
					}
				}
				subtract = 60 #A bit more than a strong hook
			}
			#For the third heir
			else_if = {
				limit = {
					scope:recipient = {
						exists = player_heir
						player_heir_position = {
							value = 2 #Third player heir
							target = scope:secondary_recipient
						}
					}
				}
				subtract = 30 #A bit more than a weak hook
			}
			else_if = {
				limit = {
					scope:recipient = { has_realm_law = equal_law }
				}
				subtract = 10 #If The realm law is equal, and the secondary_recipient is NOT ruler or their 1st/2nd/3rd heir, slash the penalty in half
			}
			else = {
				subtract = 20 #Base penalty for dynasty members who are NOT ruler or their 1st/2nd/3rd heir
			}
		}
		desc = MATRILINEAL_PATRILINEAL_REASON
	}

	#########
	# FAITH #
	#########
	modifier = { # A recipient will be reluctant (to differing degrees) to agree to marriages sent from an actor of a different faith
		add = {
			value = -10
			if = {
				limit = {					
					NOR = {
						# Exempt certain struggle phases.
						is_struggle_parameter_active_interfaith_marriages_available_between_involved_characters_trigger = yes
						# Exempt Conciliation struggle resolution
						AND = {
							has_global_variable = fp2_struggle_conciliation_ending
							fp2_struggle_conciliation_special_cultural_rules_trigger = { C1 = scope:recipient C2 = scope:actor }
						}
					}
				}
				if = {
					limit = {
						scope:recipient.faith = {
							faith_hostility_level = {
								target = scope:actor.faith
								value > faith_astray_level
							}
						}
					}
					subtract = 15
				}
				if = {
					limit = {
						scope:recipient.faith = {
							faith_hostility_level = {
								target = scope:actor.faith
								value >= faith_hostility_prevents_marriage_level
							}
						}
					}
					subtract = 975
				}
			}
		}
		
		# Nomads care little of Faith within the Steppe, and Tributaries are willing to marry them, too.
		trigger_if = {
			limit = {
				scope:actor = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:recipient = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:actor
				}
			}
		}
		trigger_if = {
			limit = {
				scope:recipient = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:actor = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:recipient
				}
			}
		}

		scope:recipient.faith = {
			faith_hostility_level = {
				target = scope:actor.faith
				value > faith_fully_accepted_level
			}
		}
		desc = MARRY_DIFFERENT_FAITH_REASON
	}

	modifier = { # Polygamy not supported
		add = -1000
		desc = DIVORCE_POLYGAMY
		
		# Nomads don't care about polygamy.
		trigger_if = {
			limit = {
				scope:actor = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:recipient = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:actor
				}
			}
		}
		trigger_if = {
			limit = {
				scope:recipient = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:actor = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:recipient
				}
			}
		}

		scope:secondary_actor = { 
			is_married = yes 
		}
		scope:secondary_recipient = { hp_accepts_polygamy = no }
	}

	modifier = { # Concubinage not supported
		add = -500
		desc = DIVORCE_CONCUBINAGE
		
		# Nomads don't care about concubinage.
		trigger_if = {
			limit = {
				scope:actor = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:recipient = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:actor
				}
			}
		}
		trigger_if = {
			limit = {
				scope:recipient = {
					OR = {
						government_has_flag = government_is_nomadic
						government_has_flag = government_is_herder
					}
				}
			}
			scope:actor = {
				NOR = {
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_herder
					is_tributary_of = scope:recipient
				}
			}
		}

		scope:secondary_actor = { 
			any_concubine = { count > 0 }
		}
		scope:secondary_recipient = { hp_accepts_concubinage = no }
	}

	modifier = { # Same-sex marriage not supported in recipient's faith
		add = -1000
		desc = SAME_SEX_MARRIAGE_FAITH_REASON

		scope:secondary_recipient = {
			sex_same_as = scope:secondary_actor
			allowed_to_marry_same_sex_trigger = no
		}
	}

	modifier = { # A debuff for no fertility to same-sex marriage
		add = -200
		desc = SAME_SEX_MARRIAGE_FERTILITY_REASON

		scope:secondary_recipient = {
			allowed_to_marry_same_sex_trigger = yes
			sex_same_as = scope:secondary_actor
			OR = {
				is_ruler = yes
				AND = {
					exists = scope:recipient.primary_heir
					scope:recipient.primary_heir = { this = scope:secondary_recipient }
				}
			}
			NOT = {
				any_child = {
					count >= 2
				}
			}
		}
	}
	###############
	# PROCREATION #
	###############
	compare_modifier = { # Recipient is reluctant to marry old women (procreation is a key factor)
		trigger = {
			scope:secondary_actor = {
				age > 29
				is_female = yes
			}
			scope:secondary_recipient = {
				is_adult = yes
				OR = {
					AND = {
						exists = scope:secondary_recipient.dynasty
						scope:secondary_recipient.dynasty = {
							OR = {
								any_dynasty_member = {
									count >= 2
								}
								dynasty_prestige_level > 1
							}
						}
					}
					is_ruler = yes
					is_close_or_extended_family_of = scope:recipient
					AND = {
						exists = scope:recipient.player_heir
						this = scope:recipient.player_heir
					}
				}
			}
		}
		target = scope:secondary_actor
		value = age
		multiplier = -5.0
		step = 1
		offset = -29
		desc = MARRY_AGE
	}
	
	compare_modifier = { # Recipient is VERY reluctant to betrothe old women to boys
		trigger = {
			scope:secondary_actor = {
				age > 20
				is_female = yes
			}
			scope:secondary_recipient = {
				is_adult = no
			}
		}
		target = scope:secondary_actor
		value = age
		multiplier = -5.0
		step = 1
		offset = -20
		desc = MARRY_AGE
	}

	modifier = { # A Recipient is unlikely to agree to a marriage where the Secondary_recipient is fertile and the Secondary_actor isn't even if Secondary_recipient has children
		add = -100
		
		scope:secondary_recipient = {
			OR = {
				fertility > 0.1
				is_adult = no
			}
			OR = {
				AND = {
					exists = scope:secondary_recipient.dynasty
					scope:secondary_recipient.dynasty = {
						OR = {
							any_dynasty_member = {
								count >= 2
							}
							dynasty_prestige_level > 1
						}
					}
				}
				is_ruler = yes
				is_close_or_extended_family_of = scope:recipient
				AND = {
					exists = scope:recipient.player_heir
					this = scope:recipient.player_heir
				}
			}
			OR = {
				is_female = no
				age < 45
			}
			any_child = {
				count >= 1
			}
		}
		scope:secondary_actor = {
			is_adult = yes
			OR = {
				fertility < 0.1
				AND = {
					is_female = yes
					age >= marriage_female_fertility_cutoff_age_value
				}
			}
		}
		desc = MARRY_LOW_FERTILITY_REASON
	}

	modifier = { # A Recipient is VERY unlikely to agree to a marriage where the Secondary_recipient is fertile and the Secondary_actor isn't if Secondary_recipient doesn't have children
		add = -200
		
		scope:secondary_recipient = {
			OR = {
				fertility > 0.1
				is_adult = no
			}
			OR = {
				AND = {
					exists = scope:secondary_recipient.dynasty
					scope:secondary_recipient.dynasty = {
						OR = {
							any_dynasty_member = {
								count >= 2
							}
							dynasty_prestige_level > 1
						}
					}
				}
				is_ruler = yes
				is_close_or_extended_family_of = scope:recipient
				AND = {
					exists = scope:recipient.player_heir
					this = scope:recipient.player_heir
				}
			}
			OR = {
				is_female = no
				age < 45
			}
			any_child = {
				count < 1
			}
		}
		scope:secondary_actor = {
			is_adult = yes
			OR = {
				fertility < 0.1
				AND = {
					is_female = yes
					age >= marriage_female_fertility_cutoff_age_value
				}
			}
		}
		desc = MARRY_LOW_FERTILITY_REASON
	}

	modifier = { # A Recipient is VERY unlikely to agree to a marriage where the Secondary_recipient is a fertile woman and the Secondary_actor is an underage boy who won't become an adult before the woman is infertile
		add = -200
		
		scope:secondary_recipient = {
			is_female = yes
			is_adult = yes
			age < 45
			OR = {
				AND = {
					exists = scope:secondary_recipient.dynasty
					scope:secondary_recipient.dynasty = {
						OR = {
							any_dynasty_member = {
								count >= 2
							}
							dynasty_prestige_level > 1
						}
					}
				}
				is_ruler = yes
				is_close_or_extended_family_of = scope:recipient
				AND = {
					exists = scope:recipient.player_heir
					this = scope:recipient.player_heir
				}
			}
		}
		scope:secondary_actor = {
			is_adult = no
		}
		marriage_fertile_age_reverse_value >= 43
		
		desc = MARRY_LOW_FERTILITY_REASON
	}

	modifier = { # A Recipient is VERY unlikely to agree to a marriage where the Secondary_actor is a woman and the Secondary_recipient is an underage boy who won't become an adult before the woman is infertile
		add = -200
		
		scope:secondary_actor = {
			is_female = yes
			is_adult = yes
		}
		scope:secondary_recipient = {
			is_adult = no
			OR = {
				AND = {
					exists = scope:secondary_recipient.dynasty
					scope:secondary_recipient.dynasty = {
						OR = {
							any_dynasty_member = {
								count >= 2
							}
							dynasty_prestige_level > 1
						}
					}
				}
				is_ruler = yes
				is_close_or_extended_family_of = scope:recipient
				AND = {
					exists = scope:recipient.player_heir
					this = scope:recipient.player_heir
				}
			}
		}
		marriage_fertile_age_value >= 43
		
		desc = MARRY_LOW_FERTILITY_REASON
	}
	
	modifier = { # Unimportant courtier? Fair game, have them.
		add = 10

		scope:secondary_recipient = {
			is_adult = yes
			NOR = {
				dynasty = scope:recipient.dynasty
				is_close_or_extended_family_of = scope:recipient
				
				is_councillor_of = scope:recipient
				has_relation_lover = scope:recipient
				has_relation_soulmate = scope:recipient
				has_relation_friend = scope:recipient
				has_relation_best_friend = scope:recipient
				is_knight_of = scope:recipient
				exists = inspiration
			}
		}
		desc = MARRY_UNIMPORTANT_COURTIER_REASON
	}

	modifier = {
		add = -10
		scope:secondary_recipient = {
			is_adult = yes
			OR = {		
				is_councillor_of = scope:recipient
				has_relation_lover = scope:recipient
				has_relation_soulmate = scope:recipient
				has_relation_friend = scope:recipient
				has_relation_best_friend = scope:recipient
				is_knight_of = scope:recipient
				AND = {
					exists = inspiration
					inspiration = {
						exists = inspiration_sponsor
						inspiration_sponsor = scope:recipient
					}
				}
			}
		}
		desc = MARRY_CARES_ABOUT_COURTIER_REASON
	}

	modifier = {
		add = -25
		scope:secondary_recipient = {
			any_child = {
				is_child_of = scope:recipient
			}
			NOT = { this = scope:recipient }
		}
		desc = MARRY_PARENT_OF_CHILDREN_REASON
	}


	#########
	# LIEGE #
	#########
	modifier = { # A Recipient is more likely to agree to a marriage arranged by their liege.
		add = 40
		
		scope:recipient = {
			target_is_liege_or_above = scope:actor
			NOT = { target_is_liege_or_above = scope:secondary_actor }
			OR = {
				opinion = {
					target = scope:secondary_actor
					value > -40
				}
				NOT = { is_close_or_extended_family_of = scope:secondary_recipient }
			}
		}
		desc = LIEGE_REASON
	}

	modifier = { # A Recipient is more likely to agree to a marriage with their liege.
		add = 60
		
		scope:recipient = {
			target_is_liege_or_above = scope:secondary_actor
		}
		desc = LIEGE_REASON
	}

	#############
	# CLAIMANTS #
	#############
	modifier = { # Don't agree to marry off Claimants to inconsequential courtiers
		add = -50
		scope:secondary_recipient = {
			is_claimant = yes
			NOT = {
				any_claim = {
					holder = scope:recipient
				}
			}
			NOR = {
				this = scope:recipient
				is_close_or_extended_family_of = scope:recipient
			}
		}
		scope:secondary_actor = {
			is_landed_or_landless_administrative = no
			NOT = { is_close_or_extended_family_of = scope:secondary_recipient }
		}
		desc = VALUABLE_CLAIMANT
	}
	
	modifier = { # Reluctance in marrying off Claimants to my own titles, if I am not related to the secondary_recipient. I'd rather keep the claimants under lock and key!
		add = -50
		scope:secondary_recipient = {
			any_claim = {
				holder = scope:recipient
			}
			NOT = { is_close_or_extended_family_of = scope:recipient }
		}
		desc = CLAIMANT_TO_MY_TITLES
	}

	#########
	# DREAD #
	#########
	#More likely to accept a preposition that doesn't include them if they fear you
	modifier = {
		add = intimidated_marriage_reason_value
		scope:recipient = {
			NOT = { this = scope:secondary_recipient }
			target_is_liege_or_above = scope:actor
			has_dread_level_towards = {
				target = scope:actor
				level = 1
			}
		}
		desc = INTIMIDATED_REASON
	}
	modifier = {
		add = cowed_marriage_reason_value
		scope:recipient = {
			NOT = { this = scope:secondary_recipient }
			target_is_liege_or_above = scope:actor
			has_dread_level_towards = {
				target = scope:actor
				level = 2
			}
		}
		desc = COWED_REASON
	}
	
	modifier = {
		add = intimidated_marriage_external_reason_value
		scope:recipient = {
			NOT = { this = scope:secondary_recipient }
			NOT = { target_is_liege_or_above = scope:actor }
			exists = top_liege
			has_dread_level_towards = {
				target = scope:actor
				level = 1
			}
		}
		desc = INTIMIDATED_REASON
	}
	modifier = {
		add = cowed_marriage_external_reason_value
		scope:recipient = {
			NOT = { this = scope:secondary_recipient }
			NOT = { target_is_liege_or_above = scope:actor }
			exists = top_liege
			has_dread_level_towards = {
				target = scope:actor
				level = 2
			}
		}
		desc = COWED_REASON
	}
	#Less likely to accept a marriage with someone they are scared off
	modifier = {
		add = -50
		scope:actor = scope:secondary_actor
		scope:recipient = {
			this = scope:secondary_recipient
			target_is_liege_or_above = scope:actor
			has_dread_level_towards = {
				target = scope:actor
				level = 1
			}
		}
		desc = INTIMIDATED_REASON
	}
	modifier = {
		add = -75
		scope:actor = scope:secondary_actor
		scope:recipient = {
			this = scope:secondary_recipient
			target_is_liege_or_above = scope:actor
			has_dread_level_towards = {
				target = scope:actor
				level = 2
			}
		}
		desc = COWED_REASON
	}
	
	modifier = {
		add = -75
		scope:actor = scope:secondary_actor
		scope:recipient = {
			this = scope:secondary_recipient
			NOT = { target_is_liege_or_above = scope:actor }
			has_dread_level_towards = {
				target = scope:actor
				level = 1
			}
		}
		desc = INTIMIDATED_REASON
	}
	modifier = {
		add = -150
		scope:actor = scope:secondary_actor
		scope:recipient = {
			this = scope:secondary_recipient
			NOT = { target_is_liege_or_above = scope:actor }
			has_dread_level_towards = {
				target = scope:actor
				level = 2
			}
		}
		desc = COWED_REASON
	}
	#More likely to accept a marriage proposal from someone they're scared of if they're not the secondary_actor
	modifier = {
		add = intimidated_marriage_not_secondary_reason_value
		NOT = { scope:actor = scope:secondary_actor }
		scope:recipient = {
			this = scope:secondary_recipient
			exists = top_liege
			has_dread_level_towards = {
				target = scope:actor
				level = 1
			}
		}
		desc = INTIMIDATED_REASON
	}
	modifier = {
		add = cowed_marriage_not_secondary_reason_value
		NOT = { scope:actor = scope:secondary_actor }
		scope:recipient = {
			this = scope:secondary_recipient
			exists = top_liege
			has_dread_level_towards = {
				target = scope:actor
				level = 2
			}
		}
		desc = COWED_REASON
	}

	# Additional reluctance if recipient likes the close relative
	## Between landed chars.
	opinion_modifier = {
		trigger = {
			NOT = { scope:recipient = scope:secondary_recipient }
			scope:recipient = {
				OR = {
					is_close_or_extended_family_of = scope:secondary_recipient
					has_relation_lover = scope:secondary_recipient
				}
				opinion = {
					target = scope:secondary_recipient
					value > 10
				}
			}
			scope:actor = {
				NOT = { is_landless_adventurer = yes }
			}
		}
	
		who = scope:recipient
		opinion_target = scope:secondary_recipient
		multiplier = -0.15
		desc = DEAR_TO_ME_REASON
	}
	## Verses an adventurer.
	opinion_modifier = {
		trigger = {
			NOT = { scope:recipient = scope:secondary_recipient }
			scope:recipient = {
				OR = {
					is_close_or_extended_family_of = scope:secondary_recipient
					has_relation_lover = scope:secondary_recipient
				}
				opinion = {
					target = scope:secondary_recipient
					value > 10
				}
			}
			scope:actor = { is_landless_adventurer = yes }
		}
	
		who = scope:recipient
		opinion_target = scope:secondary_recipient
		multiplier = -1
		desc = DEAR_TO_ME_REASON
	}

	### FAMILY CONSIDERATIONS
	modifier = {
		add = -1000
		scope:recipient.faith = {
			NOT = {
				faith_allows_marriage_consanguinity_trigger = { CHARACTER_1 = scope:secondary_recipient CHARACTER_2 = scope:secondary_actor }
			}
		}
		desc = MARRY_CONSANGUINITY_REASON
	}
	
	modifier = {
		trigger = {
			scope:secondary_recipient = {
				age > 20
				OR = {
					dynasty = scope:recipient.dynasty
					is_close_or_extended_family_of = scope:recipient
				}
			}
		}
		add = {
			value = scope:secondary_recipient.age
			subtract = 20
		}
		desc = MARRIAGE_DESPERATION
	}

	modifier = { #The actor's spouse has boosted the AI's willingness to marry the heir
		add = 75
		scope:actor = {
			exists = player_heir
			player_heir = scope:secondary_actor
		}
		scope:secondary_actor = {
			has_character_modifier = heir_easier_to_marry_off_modifier
		}
		desc = MARRIAGE_SPOUSE_COUNCILLOR_BOOST_HEIR
	}
	modifier = {
		add = 50
		scope:secondary_actor = {
			is_child_of = scope:actor
			has_character_modifier = child_easier_to_marry_off_modifier
		}
		desc = MARRIAGE_SPOUSE_COUNCILLOR_BOOST_CHILD
	}


	################
	# INSPIRATIONS #
	################

	modifier = { # Inspired people will be _very_ hesitant
		exists = scope:secondary_recipient.inspiration
		has_completed_inspiration = no
		add = -100
		desc = IS_FOCUSING_ON_INSPIRATION_MODIFIER
	}

	##################
	# COURT GRANDEUR #
	##################

	modifier = { # Court grandeur level above expected level gives a boost 
		add = ep1_court_grandeur_marriage_acceptance_value
		desc = COURT_GRANDEUR_LEVEL_MARRIAGE_ACCEPTANCE_BOOST_MODIFIER
		scope:actor = {
			has_royal_court = yes
			has_dlc_feature = royal_court
			court_grandeur_current_level > court_grandeur_minimum_expected_level
		}
	}

	modifier = { # Court grandeur level below expected level gives a penalty 
		add = ep1_court_grandeur_marriage_acceptance_value_penalty
		desc = COURT_GRANDEUR_LEVEL_MARRIAGE_ACCEPTANCE_PENALTY_MODIFIER
		scope:actor = {
			has_royal_court = yes
			has_dlc_feature = royal_court
			court_grandeur_current_level < court_grandeur_minimum_expected_level
		}
	}

	################
	#     YURTS    #
	################

	modifier = { # Court grandeur level below expected level gives a penalty 
		add = mpo_domicile_yurt_marriage_acceptance_value
		desc = YURT_DOMICILE_MARRIAGE_ACCEPTANCE_MODIFIER
		scope:actor.domicile ?= {
			has_domicile_building_or_higher = marriage_yurt_01
		}
	}
	
	################
	#  TRADITIONS  #
	################
	modifier = { # Wedding Ceremonies
		scope:actor.culture = { has_cultural_parameter = marriage_acceptance_bonus }
		add = 10
		desc = TRADITION_BONUS_WEDDING_CEREMONIES
	}
	modifier = {
		add = -50
		scope:recipient = {
			culture = {
				has_cultural_parameter = dislikes_marrying_outside_of_culture
			}
		}
		NOT = {
			scope:recipient.culture = scope:actor.culture
		}
		desc = TRADITION_PENALTY_ISOLATIONIST
	}
	modifier = { # Wedding Ceremonies
		exists = scope:actor.house
		scope:actor.house = {
			has_variable = intermarrying_with_var
			var:intermarrying_with_var = {
				this = scope:recipient.house
			}
		}
		add = 20
		desc = EVENT_BONUS_INTERMARRYING_ADMIN
	}
	################
	#  STRUGGLES   #
	################
	modifier = {
		add = 25
		desc = STRUGGLE_MARRIAGE_ACCEPTANCE_BOTH_INVOLVED_BONUS
		scope:actor = {
			any_character_struggle = {
				involvement = involved
				is_struggle_parameter_active_secondary_character_involvement_involved_trigger = {
					PARAMETER = involved_form_alliances_with_each_other_easier
					CHAR = scope:recipient
				}
			}
		}
	}
	# We add some hidden reluctance for the AI selecting/accepting marriages from outside a struggle they're involved in unless a player is taking part.
	## Involved struggle characters will seek to avoid marrying anyone outside the struggle who isn't already quite powerful.
	modifier = {
		factor = {
			value = 0
			if = {
				limit = {
					scope:actor = {
						is_ai = yes
						any_character_struggle = {
							involvement = involved
							phase_has_catalyst = catalyst_forming_alliance_with_major_uninvolved_power
						}
					}
				}
				if = {
					limit = {
						scope:recipient = {
							is_ai = yes
							realm_size <= medium_realm_size
						}
					}
					add = 0.2
				}
				else_if = {
					limit = {
						scope:recipient = {
							is_ai = yes
							any_character_struggle = {
								involvement = involved
								phase_has_catalyst = catalyst_forming_alliance_with_major_uninvolved_power
							}
						}
						scope:actor = {
							is_ai = yes
							realm_size <= medium_realm_size
						}
					}
					add = 0.2
				}
			}
			if = {
				limit = {
					scope:actor = {
						has_trait = fp3_struggle_detractor
						any_character_struggle = {
							involvement = involved
							phase_has_catalyst = catalyst_forming_alliance_between_detractor_uninvolved_rulers
						}
					}
					scope:recipient = {
						fp3_character_uninvolved_in_struggle_trigger = yes
					}
				}
				add = 0.2
			}
			else_if = {
				limit = {
					scope:recipient = {
						has_trait = fp3_struggle_detractor
						any_character_struggle = {
							involvement = involved
							phase_has_catalyst = catalyst_forming_alliance_between_detractor_uninvolved_rulers
						}
					}
					scope:actor = {
						fp3_character_uninvolved_in_struggle_trigger = yes
					}
				}
				add = 0.2
			}
		}
		OR = {
			AND = {
				# The actor is involved and try to marry with someone outside of it
				scope:actor = {
					is_ai = yes
					any_character_struggle = {
						involvement = involved
						is_secondary_character_involvement_neither_trigger = { CHAR = scope:recipient }
					}
				}
				scope:recipient = {
					is_ai = yes
				}
			}
			AND = {
				# The actor is not involved and try to marry with someone inside of it
				scope:recipient = {
					is_ai = yes
					any_character_struggle = {
						involvement = involved
						is_secondary_character_involvement_neither_trigger = { CHAR = scope:actor }
					}
				}
				scope:actor = {
					is_ai = yes
				}
			}
		}
	}
	## And heavily weight down interlopers and powerful uninvolved because they're strange and foreign.
	modifier = {
		factor = 0.5
		OR = {
			AND = {
				scope:actor = {
					is_ai = yes
					any_character_struggle = {
						involvement = involved
						is_secondary_character_involvement_interloper_trigger = { CHAR = scope:recipient }
					}
				}
				scope:recipient = { is_ai = yes }
			}
			AND = {
				scope:recipient = {
					is_ai = yes
					any_character_struggle = {
						involvement = involved
						is_secondary_character_involvement_interloper_trigger = { CHAR = scope:actor }
					}
				}
				scope:actor = { is_ai = yes }
			}
		}
	}

	modifier = { # This could technically go in piety, but since it is tied to the struggle, it goes here
		add = 25
		desc = STRUGGLE_MARRIAGE_ACCEPTANCE_USING_PIETY_AS_CURRENCY
		scope:piety_cost_reduction ?= yes
	}

	modifier = {
		add = 25
		desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION
		scope:influence_send_option = yes
	}
	
	# Herd
	modifier = {
		add = 10
		desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION
		scope:herd_send_option = yes
	}
	
	################
	#  DIARCHIES   #
	################
	# Temporary or designated regents.
	modifier = {
		add = 10
		scope:recipient = {
			OR = {
				AND = {
					designated_diarch ?= scope:actor
					# Otherwise designated diarchs that become entrenched regents'll still this bonus.
					NOT = { exists = diarch }
				}
				AND = {
					diarch ?= scope:actor
					has_diarchy_active_parameter = diarchy_type_is_temporary_regency
				}
			}
		}
		desc = DIARCHY_TEMPORARY_OR_DESIGNATED_REGENT_WEDDING_ACCEPTANCE
	}
	# Entrenched regents.
	modifier = {
		add = {
			value = scope:recipient.diarchy_swing
			multiply = 0.5
		}
		scope:recipient = {
			diarch ?= scope:actor
			has_diarchy_active_parameter = diarchy_type_is_entrenched_regency
		}
		desc = DIARCHY_ENTRENCHED_REGENT_WEDDING_ACCEPTANCE
	}

	###########
	#  FEUD   #
	###########
	modifier = {
		add = -25
		scope:recipient = {
			existing_feud_against_target_trigger = { TARGET = scope:actor }
		}
		desc = MARRY_FAMILY_FEUD_REASON
	}

	######################
	#  NOMAD/TRIBUTARY   #
	######################
	modifier = {
		add = 50
		scope:recipient = {
			is_tributary_of_suzerain_or_above = scope:actor
		}
		desc = AI_TRIBUTARY_REASON
	}
	modifier = {
		add = 100
		scope:recipient = {
			is_obedient_to = scope:actor
		}
		desc = AI_OBEDIENT_REASON
	}
	modifier = {
		add = -100
		scope:actor = {
			government_has_flag = government_is_nomadic
		}
		scope:recipient = {
			NOR = { 
				government_has_flag = government_is_nomadic
				government_has_flag = government_is_tribal
			}
			NAND = {
				is_vassal_or_below_of = scope:actor
				is_obedient_to = scope:actor
			}
		}
		desc = AI_FILTHY_HORSE_LORD_REASON
	}
	modifier = {
		add = {
			value = 14
			subtract = scope:actor.prowess
			multiply = -4
		}
		scope:recipient = {
			government_has_flag = government_is_nomadic
		}
		scope:actor = {
			prowess < 14
		}
		desc = AI_REASON_LOW_PROWESS
	}
	modifier = {
		add = -40
		scope:actor = { has_realm_law = nomadic_authority_1 }
		scope:recipient = { government_has_flag = government_is_nomadic }
		desc = AI_REASON_NOMADIC_AUTHORITY_1
	}
	modifier = {
		add = -20
		scope:actor = { has_realm_law = nomadic_authority_2 }
		scope:recipient = { government_has_flag = government_is_nomadic }
		desc = AI_REASON_NOMADIC_AUTHORITY_2
	}
	modifier = {
		add = 10
		scope:actor = { has_realm_law = nomadic_authority_4 }
		scope:recipient = { government_has_flag = government_is_nomadic }
		desc = AI_REASON_NOMADIC_AUTHORITY_4
	}
	modifier = {
		add = 20
		scope:actor = { has_realm_law = nomadic_authority_5 }
		scope:recipient = { government_has_flag = government_is_nomadic }
		desc = AI_REASON_NOMADIC_AUTHORITY_5
	}
	#Smaller prejudicial malus for tribals, vassals and obedient tributaries
	modifier = {
		add = -50
		scope:actor = {
			government_has_flag = government_is_nomadic
		}
		scope:recipient = {
			NOT = { government_has_flag = government_is_nomadic }
			OR = {
				government_has_flag = government_is_tribal
				is_vassal_or_below_of = scope:actor
				is_obedient_to = scope:actor
			}
			NAND = {
				is_vassal_or_below_of = scope:actor
				is_obedient_to = scope:actor
			}
		}
		desc = AI_FILTHY_HORSE_LORD_REASON
	}

	#Nomadic base malus
	modifier = {
		desc = NOMADIC_BASE_MALUS
		scope:actor = {
			government_has_flag = government_is_nomadic
		}
		add = -20
	}

	#################
	# GRAND WEDDING #
	#################
	modifier = {
		# Being offered a Grand Wedding increases acceptance
		add = 40
		scope:grand_wedding_promise = yes

		desc = GRAND_WEDDING_PROMISE_REASON_1
	}
	# Having already organized a good Grand Wedding increases acceptance
	modifier = {
		has_character_modifier = gwedding_magnificent_host_modifier
		add = 25
		desc = GRAND_WEDDING_MAGNIFICENT_HOST_REASON
	}
	# Don't offer the same (or parallel) Grand Wedding when a betrothal is already ongoing
	modifier = {
		add = -5000
		OR = {
			scope:secondary_actor = { has_been_promised_grand_wedding = yes }
			scope:secondary_recipient = { has_been_promised_grand_wedding = yes }
		}
	}
	# 
	modifier = {
		add = ep2_activities_legacy_2_grand_weddings_acceptance_boost_value
		scope:actor.dynasty ?= { has_dynasty_perk = ep2_activities_legacy_2  }
		desc = GRAND_WEDDING_DYNASTY_LEGACY_BONUS
	}

	###########################
	# PLAYER IS THE RECIPIENT #
	###########################

	# Secondary actor has already been refused by the player
	modifier = {
		add = -5000
		scope:recipient = { is_ai = no }
		scope:secondary_actor = { has_character_flag = player_declined_marriage }
	}

	# Don't spam the player with courtiers' marriages
	modifier = {
		add = -5000
		scope:recipient = { is_ai = no }
		scope:secondary_recipient = {
			NOR = {
				is_close_or_extended_family_of = scope:recipient
				dynasty ?= scope:recipient.dynasty
			}
		}
	}

	# Don't spam the player with weaker offers
	modifier = {
		add = -5000
		scope:recipient = { is_ai = no }
		scope:recipient.eighty_percent_of_max_military_strength > scope:actor.current_military_strength 
		exists = scope:recipient.primary_title
		exists = scope:actor.primary_title
		NOT = { scope:actor.primary_title.tier >= scope:recipient.primary_title.tier }
	}


	#############
	#  HAROLD   #
	#############
	modifier = {
		add = -5000
		years_from_game_start <= 5
		OR = {
			scope:actor = character:122
			scope:recipient = character:122
			scope:secondary_actor = character:122
			scope:secondary_recipient = character:122
		}
		scope:actor = {
			is_ai = yes
		}
		scope:recipient = {
			is_ai = yes
		}
		scope:secondary_actor = {
			is_ai = yes
		}
		scope:secondary_recipient = {
			is_ai = yes
		}
	}

	# LOW LEGITIMACY
	modifier = {
		desc = "LOW_LEGITIMACY_REASON"
		scope:actor = {
			OR = {
				has_legitimacy_flag = reduced_marriage_acceptance
				has_legitimacy_flag = very_reduced_marriage_acceptance
				has_legitimacy_flag = massively_reduced_marriage_acceptance
			}
		}
		add = {
			value = 0
			if = {
				limit = { scope:actor = { has_legitimacy_flag = reduced_marriage_acceptance } }
				add = -25
			}
			else_if = {
				limit = { scope:actor = { has_legitimacy_flag = very_reduced_marriage_acceptance } }
				add = -50
			}
			else_if = {
				limit = { scope:actor = { has_legitimacy_flag = massively_reduced_marriage_acceptance } }
				add = -100
			}
		}
	}

	# HIGH LEGITIMACY
	modifier = {
		desc = "HIGH_LEGITIMACY_REASON"
		scope:actor = {
			OR = {
				has_legitimacy_flag = increased_marriage_acceptance
				has_legitimacy_flag = very_increased_marriage_acceptance
				has_legitimacy_flag = extra_increased_marriage_acceptance
			}
		}
		add = {
			value = 0
			if = {
				limit = { scope:actor = { has_legitimacy_flag = increased_marriage_acceptance } }
				add = 25
			}
			else_if = {
				limit = { scope:actor = { has_legitimacy_flag = very_increased_marriage_acceptance } }
				add = 50
			}
			else_if = {
				limit = { scope:actor = { has_legitimacy_flag = extra_increased_marriage_acceptance } }
				add = 100
			}
		}
	}

	# A little extra challenge for latin empire players
	#Want to keep AI latin empire strengthened by allies though
	modifier = {
		desc = "LATIN_EMPIRE_REASON"
		scope:actor = {
			has_trait = despoiler_of_byzantium
			top_liege ?= {
				has_title = title:e_latin_empire
			}
			OR = {
				is_ai = no
				top_liege = { is_ai = no }
				top_liege = {
					any_vassal_or_below = {
						is_ai = no
					}
				}
			}
		}
		scope:recipient = {
			NOT = { has_trait = despoiler_of_byzantium }
			faith.religion = religion:christianity_religion
		}
		add = -20
	}
	
	#On Hard/Very Hard, highly skilled characters are unwilling to marry player courtiers
	modifier = {
		desc = "difficulty_skilled_courtier_block"
		OR = {
			has_game_rule = hard_difficulty
			has_game_rule = very_hard_difficulty
		}
		scope:actor = {
			is_ai = no
		}
		scope:secondary_actor = {
			NOR = {
				is_close_family_of = scope:actor
				this = scope:actor
			}
		}
		scope:secondary_recipient = {
			is_ruler = no
			OR = {
				diplomacy > 12
				stewardship > 12
				martial > 12
				learning > 12
				intrigue > 12
				prowess > 12
			}
		}
		add = -2000
	}
	# And slightly less likely to marry player children etc.
	modifier = {
		desc = "difficulty_skilled_courtier_block"
		OR = {
			has_game_rule = hard_difficulty
			has_game_rule = very_hard_difficulty
		}
		scope:actor = {
			is_ai = no
		}
		scope:secondary_actor = {
			OR = {
				is_close_family_of = scope:actor
				this = scope:actor
			}
		}
		scope:secondary_recipient = {
			is_ruler = no
			OR = {
				diplomacy > 12
				stewardship > 12
				martial > 12
				learning > 12
				intrigue > 12
				prowess > 12
			}
		}
		add = {
			value = -100
			if = {
				limit = {
					scope:secondary_recipient.highest_skill_value >= 20
				}
				add = -50
			}
		}
	}
}

divorce_character_ai_accept_modifier = {
	modifier = {
		add = -50
		desc = BASE_RELUCTANCE
	}
	
	modifier = { # Less likely if it's the recipient him/herself
		add = -100
		desc = MY_OWN_MARRIAGE_REASON
		scope:recipient = scope:secondary_recipient
	}
	
	opinion_modifier = { # A lot more likely if Recipient likes Actor
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		who = scope:recipient
		opinion_target = scope:actor
		multiplier = 1
		desc = AI_OPINION_REASON
	}
	
	opinion_modifier = { # Unlikely if Recipient likes Secondary Recipient
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		who = scope:recipient
		opinion_target = scope:secondary_recipient
		multiplier = -1
		desc = AI_OPINION_REASON
	}

	modifier = { # Very unlikely if the marriage is between kin and the religion has Divine Marriages
		add = -100
		desc = DIVORCE_HOLY
		scope:actor = {
			faith = {
				has_doctrine = tenet_divine_marriage
			}
		}
		scope:actor = {
			OR = {
				is_cousin_of = scope:secondary_recipient
				is_close_or_extended_family_of = scope:secondary_recipient
			}
		}
	}
		
	modifier = { # More likely if the spouse is openly incestuous
		add = 150
		desc = DIVORCE_OPENLY_INCESTUOUS_SPOUSE

		scope:secondary_recipient = {
			any_relation = {
				type = lover
				NOR = {
					this = scope:actor
					this = scope:recipient
				}
				relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:secondary_recipient	}
			}
		}
	}

	modifier = { # More likely if the spouse has been unfaithful (lover relation or std)
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		desc = DIVORCE_INFIDELITY
		add = {
			# Cheating isn't awful
			if = {
				limit = {
					trigger_if = {
						limit = {
							scope:secondary_recipient = { is_male = yes }
						}
						faith = { has_doctrine = doctrine_adultery_men_accepted }
					}
					trigger_else_if = {
						limit = {
							scope:secondary_recipient = { is_female = yes }
						}
						faith = { has_doctrine = doctrine_adultery_women_accepted }
					}
					# making the default behavior explicit if no other trigger_(else_)ifs are valid
					trigger_else = {
						always = yes
					}
				}
				value = 20
			}
			# Cheating is awful
			else = {
				value = 50
			}
		}
		scope:secondary_recipient = {
			exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor }
		}
	}

	modifier = { # Eunuchs
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 100
		desc = DIVORCE_IMPOTENT_EUNUCH
		scope:secondary_recipient = {
			is_female = no
			is_eunuch_trigger = yes
		}
	}

	modifier = { # Very likely if the marriage has turned Polygamous and their faith doesn't support it
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 100
		desc = DIVORCE_POLYGAMY
		scope:actor = {
			any_spouse = { 
				is_alive = yes
				NOT = { this = scope:secondary_recipient } 
			}
			any_spouse = { 
				this = scope:secondary_recipient  
			}
		}
		scope:secondary_recipient = { 
			hp_accepts_harems = no
		}
	}
	
	modifier = { # Very likely if the marriage involves Concubines and their faith doesn't support it
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 100
		desc = DIVORCE_CONCUBINAGE
		scope:actor = {
			any_concubine = { 
				is_alive = yes
				NOT = { this = scope:secondary_recipient } 
			}
			any_spouse = { 
				this = scope:secondary_recipient  
			}
		}
		scope:secondary_recipient = { 
			hp_accepts_harems = no
		}
	}
	
	
	modifier = { # Heathens
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 100
		desc = DIVORCE_HEATHEN
		NOT = {
			scope:secondary_recipient.faith.religion = scope:actor.faith.religion
		}
	}
	
	modifier = { # Heretic
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 10
		desc = DIVORCE_HERETIC
		scope:secondary_recipient.faith.religion = scope:actor.faith.religion
		scope:secondary_recipient = {
			NOT = {
				faith = scope:actor.faith
			}
		}
	}

	modifier = { # I am a Kinslayer
		add = -50
		desc = I_AM_A_KINSLAYER
		scope:actor = {
			has_trait_rank = {
				trait = kinslayer
				rank >= 1
			}
		}
	}
	
	modifier = { # They are a Kinslayer
		trigger = { NOT = { scope:recipient = scope:secondary_recipient } }
		add = 50
		desc = THEY_ARE_A_KINSLAYER
		scope:secondary_recipient = {
			has_trait_rank = {
				trait = kinslayer
				rank >= 1
			}
		}
	}

	modifier = { # Friend of the Head of Faith
		add = 50
		desc = WE_ARE_FRIENDS
		scope:recipient = {
			has_relation_friend = scope:actor
		}
	}
	
	modifier = { # Best Friend of the Head of Faith
		add = 150
		desc = WE_ARE_BEST_FRIENDS
		scope:recipient = {
			has_relation_best_friend = scope:actor
		}
	}
	
	modifier = { # Lover of the Head of Faith
		add = 25
		desc = WE_ARE_LOVERS
		scope:recipient = {
			has_relation_lover = scope:actor
		}
	}
	
	modifier = { # Rival of the Head of Faith
		add = -100
		desc = WE_ARE_RIVALS
		scope:recipient = {
			has_relation_rival = scope:actor
		}
	}
	
	modifier = { # Nemesis of the Head of Faith
		add = -500
		desc = WE_ARE_NEMESES
		scope:recipient = {
			has_relation_nemesis = scope:actor
		}
	}
}